package com.example.bean.vo;

import com.example.bean.BaseEntity;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import javax.persistence.*;


import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;


@Getter
@Setter
@NoArgsConstructor
@Entity
@Table(name = "blockchain_company_info")
@Inheritance(strategy = InheritanceType.JOINED)
@EqualsAndHashCode
public class BlockchainCompanyInfo extends BaseEntity {
	@Column(name = "user_id")
	private Integer userId;
	/*企业名称*/
	private String name;
	/*统一信用代码*/
	@Column(name = "general_credit_code")
	private String generalCreditCode;
	/*
	 * 单位性质 （企业、事业单位）
	 */

	@Column(name = "enterprise_type")
	private String enterpriseType;
	/*
	 * 公司类型
	 */
	@Column(name = "company_type")
	private String companyType;
	/*
	 * 成立日期
	 */
	@Column(name = "foundation_date")
	private LocalDate foundationDate;
	//营业期限
	@Column(name = "business_term")
	private String businessTerm;
	//发照日期
	@Column(name = "issue_date")
	private LocalDate issueDate;
	//登记机关
	@Column(name = "registration_authority")
	private String registrationAuthority;
	//经营状态
	@Column(name = "business_status")
	private String businessStatus;
	//法定代表人
	@Column(name = "legal_person")
	private String legalPerson;
	//法人证件号
	@Column(name = "legal_person_code")
	private String legalPersonCode;
	//企业电话
	@Column(name = "company_phone")
	private String companyPhone;
	//注册资本（万元）
	@Column(name = "registered_capital")
	private BigDecimal registeredCapital;
	private String province;
	private String city;
	private String address;

	private String industry;
	@Column(name = "return_work_status")
	private String returnWorkStatus;
	@Column(name = "license_img_url")
	@ApiModelProperty(value = "企业营业执照")
	private String licenseImgUrl;
	@Column(name = "id_card_front_url")
	@ApiModelProperty(value = "身份证正面")
	private String idCardFrontUrl;
	@Column(name = "id_card_back_url")
	@ApiModelProperty(value = "身份证反面")
	private String idCardBackUrl;
	@Column(name = "business_scope")
	@ApiModelProperty(value = "经营范围")
	private String businessScope;
	private String park;
	@Column(name = "is_high_tech")
	private Boolean isHighTech;

	@Column(name = "staff_count")
	private Integer staffCount;

	
	@Column(name = "total_revenue")
	@ApiModelProperty(value = "企业整体收入（单位：万元）")
	private BigDecimal totalRevenue;
	private String website;
	@Column(name = "main_person")
	private String mainPerson;

	@Column(name = "main_person_duty")
	private String mainPersonDuty;
	@Column(name = "main_person_mobile")
	@ApiModelProperty(value = "联系方式（手机）")
	private String mainPersonMobile;
	@Column(name = "main_person_email")
	@ApiModelProperty(value = "联系方式（邮箱）")
	private String mainPersonEmail;
	@Column(name = "contact_person")
	@ApiModelProperty(value = "联系人")
	private String contactPerson;
	@Column(name = "contact_person_duty")
	@ApiModelProperty(value = "联系人职务")
	private String contactPersonDuty;
	@Column(name = "contact_person_mobile")
	@ApiModelProperty(value = "联系人联系方式（手机）")
	private String contactPersonMobile;
	@Column(name = "contact_person_email")
	@ApiModelProperty(value = "联系人联系方式（邮箱）")
	private String contactPersonEmail;
	@Column(name = "contact_person_wechat")
	@ApiModelProperty(value = "联系人联系方式（微信）")
	private String contactPersonWechat;
	@Column(name = "contact_person_address")
	@ApiModelProperty(value = "联系人联系方式（地址）")
	private String contactPersonAddress;
	@Column(name = "company_positioning")
	@ApiModelProperty(value = "企业定位")
	private String type;
	@Column(name = "build_team_date")
	@ApiModelProperty(value = "组建区块链团队日期")
	private LocalDate buildTeamDate;
	@Column(name = "blockchain_staff_count")
	@ApiModelProperty(value = "区块链研发人员数量")
	private Integer blockchainStaffCount;
	@Column(name = "blockchain_revenue")
	@ApiModelProperty(value = "企业区块链业务收入（单位：万元）")
	private BigDecimal blockchainRevenue;
	@Column(name = "blockchain_innovate")
	@ApiModelProperty(value = "区块链领域创新情况")
	private String blockchainInnovate;

	
	@Column(name = "audit_status")
	private Integer auditStatus;
	@Column(name = "audit_comment")
	private String auditComment;
	@Column(name = "audit_user_id")
	private Long auditUserId;
	@Column(name = "audit_date")
	private LocalDate auditDate;
	@Column(name = "is_delete")
	private boolean isDelete;
	@Column(name = "submit_date")
	private LocalDate submitDate;
	private Integer tianxiestatus;
	@Column(name = "blockchain_team_various")
	private String blockchainteamvarious;
	/*
	 * 推荐人单位
	 */
	private String advanceUnit;
	/*
	 * 推荐人姓名
	 */
	private String advanceName;
	/*
	 * 推荐人联系方式
	 */
	private String advancePhone;

//	@OneToMany(mappedBy = "blockchainCompanyInfo")
//	private List<BlockchainCompanyProduct> blockchainCompanyProducts;

}
